|
1
|
|
|
/* global exec */ |
|
2
|
|
|
/** |
|
3
|
|
|
* Build configuration for server-side using Gulp |
|
4
|
|
|
*/ |
|
5
|
|
|
const gulp = require('gulp'); |
|
6
|
|
|
const sourceMaps = require('gulp-sourcemaps'); |
|
7
|
|
|
const nodemon = require('gulp-nodemon'); |
|
8
|
|
|
const babel = require('gulp-babel'); |
|
9
|
|
|
const path = require('path'); |
|
10
|
|
|
const config = require('./src/config/server.config').build; |
|
11
|
|
|
const exec = require('child_process').exec; |
|
12
|
|
|
|
|
13
|
|
|
const PATHS = { |
|
14
|
|
|
src: ['src/**/*.js', 'src/**/*.jsx'], |
|
15
|
|
|
dist: config.serverOutputDirectoryName, |
|
16
|
|
|
sourceRoot: path.join(__dirname, config.sourceDirectory), |
|
17
|
|
|
}; |
|
18
|
|
|
|
|
19
|
|
|
const compile = () => gulp.src(PATHS.src) |
|
20
|
|
|
.pipe(sourceMaps.init()) |
|
21
|
|
|
.pipe(babel({ presets: [['env', { targets: { node: 'current' } }]] })) |
|
22
|
|
|
.pipe(sourceMaps.write('.', { sourceRoot: PATHS.sourceRoot })) |
|
23
|
|
|
.pipe(gulp.dest(PATHS.dist)); |
|
24
|
|
|
|
|
25
|
|
|
gulp.task('server-build', () => compile()); |
|
26
|
|
|
|
|
27
|
|
|
gulp.task('dev-server', ['server-build'], () => { |
|
28
|
|
|
return nodemon({ |
|
29
|
|
|
exec: 'node --debug=54321', |
|
30
|
|
|
script: `${PATHS.dist}/${config.serverEntry}`, |
|
31
|
|
|
ext: 'js html', |
|
32
|
|
|
ignore: ['**/*.test.js', `${PATHS.dist}/**/*.js`], |
|
33
|
|
|
env: { NODE_ENV: 'development' }, |
|
34
|
|
|
tasks: ['server-build'], |
|
35
|
|
|
debug: true, |
|
36
|
|
|
}); |
|
37
|
|
|
}); |
|
38
|
|
|
|
|
39
|
|
|
gulp.task('dev-start', ['dev-server']); |
|
40
|
|
|
|